package com.ply.flashsalessystem.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ply.flashsalessystem.entity.pojo.Activity;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ply.flashsalessystem.entity.vo.activity.ActivityVo;
import com.ply.flashsalessystem.entity.vo.manage.GoodsVO;
import com.ply.flashsalessystem.entity.wrapper.activity.ActivityWrapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author XiaoPan
 * @since 2022-05-10
 */
@Mapper
public interface ActivityMapper extends BaseMapper<Activity> {
    /**
     * 新增活动
     */
    int addActivity(@Param("activity") Activity activity);

    /**
     * 为活动 分配 商品  使用foreach 循环
     */
    int addGoodInActivity(@Param("activityId") Integer activityId,
                          @Param("good") List<Integer> goodId);

    /**
     * 动态更新 活动的信息 (活动 进行中 没法修改修改) id需要正确
     */
    int updateActivityById(@Param("activity") Activity activity);

    /**
     * 动态分页查询活动 条件   活动id 商品id 活动名称 活动tag 时间 管理员 开启是否 按照时间排序
     */
    List<ActivityVo> queryActivityByWrapper(Page<ActivityVo> page, @Param("aw") ActivityWrapper activityWrapper);


    /**
     * 根据 活动满减id 条件查询出 所有参与的商品
     */
    List<GoodsVO> queryGoodsByFullId(Page<ActivityVo> page,Integer activityId);


    List<Activity> queryByGoodsId(Integer goodsId);

    Activity queryById(Integer activityId);
}
